# -*- coding: utf-8 -*-
"""
@Time    : 2024/7/22 09:21 
@Author  : ZhangShenao 
@File    : 1.导入数据.py 
@Desc    : 将Embedding数据导入Pinecone
"""

import dotenv
from langchain_community.embeddings import ZhipuAIEmbeddings
from langchain_pinecone import PineconeVectorStore

# 加载环境变量
dotenv.load_dotenv()

# 创建Embeddings
embeddings = ZhipuAIEmbeddings(model='embedding-2')

# 创建Pinecone向量数据库
vector_store = PineconeVectorStore(
    index_name='dataset',  # 指定索引名称
    embedding=embeddings,  # 指定Embedding模型
    namespace='llm-ops',  # 指定Namespace
    text_key='text',  # 指定文本属性key
)

texts = [
    '锅巴是一只很喜欢睡觉的猫咪',
    '我喜欢在夜晚听音乐，这让我感到放松。',
    '猫咪在沙发上打盹，看起来非常可爱。',
    '学习新技能是每个人都应该追求的目标。',
    '我最喜欢的食物是意大利面，尤其是番茄酱的那种。',
    '昨晚我做了一个奇怪的梦，梦见自己在太空飞行。',
    '我的手机突然关机了，让我有些焦虑。',
    '阅读是我每天都会做的事情，我觉得很充实。',
    '他们一起计划了一次周末的野餐，希望天气能好。',
    '我的猫喜欢追逐球，看起来非常开心。',
]

meta_datas = [
    {'page': 1},
    {'page': 2},
    {'page': 3},
    {'page': 4},
    {'page': 5},
    {'page': 6},
    {'page': 7},
    {'page': 8},
    {'page': 9},
    {'page': 10},
]

# 向Pinecone插入数据
ids = vector_store.add_texts(
    texts=texts,  # 指定文本内容
    metadatas=meta_datas,  # 指定元数据
    namespace='llm-ops',  # 指定Namespace
)

print(ids)
